1 /*
2 
3 Boost Software License - Version 1.0 - August 17th, 2003
4 
5 Permission is hereby granted, free of charge, to any person or organization
6 obtaining a copy of the software and accompanying documentation covered by
7 this license (the "Software") to use, reproduce, display, distribute,
8 execute, and transmit the Software, and to prepare derivative works of the
9 Software, and to permit third-parties to whom the Software is furnished to
10 do so, all subject to the following:
11 
12 The copyright notices in the Software and this entire statement, including
13 the above license grant, this restriction and the following disclaimer,
14 must be included in all copies of the Software, in whole or in part, and
15 all derivative works of the Software, unless such copies or derivative
16 works are solely in the form of machine-executable object code generated by
17 a source language processor.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 DEALINGS IN THE SOFTWARE.
26 
27 */ 
28 
29 module derelict.purple.pluginpref;
30 
31 import derelict.glib.gtypes;
32 import derelict.glib.glibconfig;
33 import derelict.glib.glist;
34 extern (C):
35 
36 alias _PurplePluginPrefFrame PurplePluginPrefFrame;
37 alias _PurplePluginPref PurplePluginPref;
38 alias _Anonymous_0 PurpleStringFormatType;
39 alias _Anonymous_1 PurplePluginPrefType;
40 
41 enum _Anonymous_0
42 {
43 	PURPLE_STRING_FORMAT_TYPE_NONE = 0,
44 	PURPLE_STRING_FORMAT_TYPE_MULTILINE = 1,
45 	PURPLE_STRING_FORMAT_TYPE_HTML = 2
46 }
47 
48 enum _Anonymous_1
49 {
50 	PURPLE_PLUGIN_PREF_NONE = 0,
51 	PURPLE_PLUGIN_PREF_CHOICE = 1,
52 	PURPLE_PLUGIN_PREF_INFO = 2,
53 	PURPLE_PLUGIN_PREF_STRING_FORMAT = 3
54 }
55 
56 struct _PurplePluginPrefFrame;
57 
58 
59 struct _PurplePluginPref;									
60 
61 
62 version(Derelict_Link_Static)
63 {
64     extern( C ) nothrow 
65     {
66 	    PurplePluginPrefFrame* purple_plugin_pref_frame_new();
67         void purple_plugin_pref_frame_destroy(PurplePluginPrefFrame* frame);
68         void purple_plugin_pref_frame_add(PurplePluginPrefFrame* frame, PurplePluginPref* pref);
69         GList* purple_plugin_pref_frame_get_prefs(PurplePluginPrefFrame* frame);
70         PurplePluginPref* purple_plugin_pref_new();
71         PurplePluginPref* purple_plugin_pref_new_with_name(const(char)* name);
72         PurplePluginPref* purple_plugin_pref_new_with_label(const(char)* label);
73         PurplePluginPref* purple_plugin_pref_new_with_name_and_label(const(char)* name, const(char)* label);
74         void purple_plugin_pref_destroy(PurplePluginPref* pref);
75         void purple_plugin_pref_set_name(PurplePluginPref* pref, const(char)* name);
76         const(char)* purple_plugin_pref_get_name(PurplePluginPref* pref);
77         void purple_plugin_pref_set_label(PurplePluginPref* pref, const(char)* label);
78         const(char)* purple_plugin_pref_get_label(PurplePluginPref* pref);
79         void purple_plugin_pref_set_bounds(PurplePluginPref* pref, int min, int max);
80         void purple_plugin_pref_get_bounds(PurplePluginPref* pref, int* min, int* max);
81         void purple_plugin_pref_set_type(PurplePluginPref* pref, PurplePluginPrefType type);
82         PurplePluginPrefType purple_plugin_pref_get_type(PurplePluginPref* pref);
83         void purple_plugin_pref_add_choice(PurplePluginPref* pref, const(char)* label, gpointer choice);
84         GList* purple_plugin_pref_get_choices(PurplePluginPref* pref);
85         void purple_plugin_pref_set_max_length(PurplePluginPref* pref, uint max_length);
86         uint purple_plugin_pref_get_max_length(PurplePluginPref* pref);
87         void purple_plugin_pref_set_masked(PurplePluginPref* pref, gboolean mask);
88         gboolean purple_plugin_pref_get_masked(PurplePluginPref* pref);
89         void purple_plugin_pref_set_format_type(PurplePluginPref* pref, PurpleStringFormatType format);
90         PurpleStringFormatType purple_plugin_pref_get_format_type(PurplePluginPref* pref);
91     }
92 }
93 else
94 {
95     extern( C ) nothrow 
96     {
97 	    alias da_purple_plugin_pref_frame_new = PurplePluginPrefFrame* function();																
98         alias da_purple_plugin_pref_frame_destroy = void function(PurplePluginPrefFrame* frame);												
99         alias da_purple_plugin_pref_frame_add = void function(PurplePluginPrefFrame* frame, PurplePluginPref* pref);							
100         alias da_purple_plugin_pref_frame_get_prefs = GList* function(PurplePluginPrefFrame* frame);											
101         alias da_purple_plugin_pref_new = PurplePluginPref* function();																			
102         alias da_purple_plugin_pref_new_with_name = PurplePluginPref* function(const(char)* name);												
103         alias da_purple_plugin_pref_new_with_label = PurplePluginPref* function(const(char)* label);											
104         alias da_purple_plugin_pref_new_with_name_and_label = PurplePluginPref* function(const(char)* name, const(char)* label);				
105         alias da_purple_plugin_pref_destroy = void function(PurplePluginPref* pref);															
106         alias da_purple_plugin_pref_set_name = void function(PurplePluginPref* pref, const(char)* name);										
107         alias da_purple_plugin_pref_get_name = const(char)* function(PurplePluginPref* pref);													
108         alias da_purple_plugin_pref_set_label = void function(PurplePluginPref* pref, const(char)* label);										
109         alias da_purple_plugin_pref_get_label = const(char)* function(PurplePluginPref* pref);													
110         alias da_purple_plugin_pref_set_bounds = void function(PurplePluginPref* pref, int min, int max);										
111         alias da_purple_plugin_pref_get_bounds = void function(PurplePluginPref* pref, int* min, int* max);										
112         alias da_purple_plugin_pref_set_type = void function(PurplePluginPref* pref, PurplePluginPrefType type);								
113         alias da_purple_plugin_pref_get_type = PurplePluginPrefType function(PurplePluginPref* pref);											
114         alias da_purple_plugin_pref_add_choice = void function(PurplePluginPref* pref, const(char)* label, gpointer choice);					
115         alias da_purple_plugin_pref_get_choices = GList* function(PurplePluginPref* pref);														
116         alias da_purple_plugin_pref_set_max_length = void function(PurplePluginPref* pref, uint max_length);									
117         alias da_purple_plugin_pref_get_max_length = uint function(PurplePluginPref* pref);														
118         alias da_purple_plugin_pref_set_masked = void function(PurplePluginPref* pref, gboolean mask);											
119         alias da_purple_plugin_pref_get_masked = gboolean function(PurplePluginPref* pref);														
120         alias da_purple_plugin_pref_set_format_type = void function(PurplePluginPref* pref, PurpleStringFormatType format);						
121         alias da_purple_plugin_pref_get_format_type = PurpleStringFormatType function(PurplePluginPref* pref);
122     }
123 
124     __gshared
125     {
126 	    da_purple_plugin_pref_frame_new purple_plugin_pref_frame_new;
127 	    da_purple_plugin_pref_frame_destroy purple_plugin_pref_frame_destroy;
128 	    da_purple_plugin_pref_frame_add purple_plugin_pref_frame_add;
129 	    da_purple_plugin_pref_frame_get_prefs purple_plugin_pref_frame_get_prefs;
130 	    da_purple_plugin_pref_new purple_plugin_pref_new;
131 	    da_purple_plugin_pref_new_with_name purple_plugin_pref_new_with_name;
132 	    da_purple_plugin_pref_new_with_label purple_plugin_pref_new_with_label;
133 	    da_purple_plugin_pref_new_with_name_and_label purple_plugin_pref_new_with_name_and_label;
134 	    da_purple_plugin_pref_destroy purple_plugin_pref_destroy;
135 	    da_purple_plugin_pref_set_name purple_plugin_pref_set_name;
136 	    da_purple_plugin_pref_get_name purple_plugin_pref_get_name;
137 	    da_purple_plugin_pref_set_label purple_plugin_pref_set_label;
138 	    da_purple_plugin_pref_get_label purple_plugin_pref_get_label;
139 	    da_purple_plugin_pref_set_bounds purple_plugin_pref_set_bounds;
140 	    da_purple_plugin_pref_get_bounds purple_plugin_pref_get_bounds;
141 	    da_purple_plugin_pref_set_type purple_plugin_pref_set_type;
142 	    da_purple_plugin_pref_get_type purple_plugin_pref_get_type;
143 	    da_purple_plugin_pref_add_choice purple_plugin_pref_add_choice;
144 	    da_purple_plugin_pref_get_choices purple_plugin_pref_get_choices;
145 	    da_purple_plugin_pref_set_max_length purple_plugin_pref_set_max_length;
146 	    da_purple_plugin_pref_get_max_length purple_plugin_pref_get_max_length;
147 	    da_purple_plugin_pref_set_masked purple_plugin_pref_set_masked;
148 	    da_purple_plugin_pref_get_masked purple_plugin_pref_get_masked;
149 	    da_purple_plugin_pref_set_format_type purple_plugin_pref_set_format_type;
150 	    da_purple_plugin_pref_get_format_type purple_plugin_pref_get_format_type;
151     }
152 }